Pulsed time-of-flight laser distance measuring is based on measuring the time it takes a transmitted optical pulse to travel to a detector. That is, the transmitted optical pulse is reflected from a target back to the device that transmitted the optical pulse, the detector of the device receives the optical pulse and measures the time between the transmission and the detection of the optical pulse. Since the velocity of light is known, the measured time can be converted to a distance between the device and the target.
However, this type of measuring technique with a leading edge timing discriminator has a few drawbacks. The amplitude of the reflected optical pulse may vary significantly, depending on the distance, the orientation, the smoothness of the surface and the reflection coefficient of the target. FIG. 1 shows that the amplitude of a first detected pulse 102A may be different from the amplitude of a second detected pulse 102B. By means of a fixed threshold level 110, the pulses 102A, 1028 may be detected to have arrived at different times, even though the distance to the target from which the detected pulses 102A, 102B were reflected, may be the same. The difference in detection times causes a timing error, which is also called a walk error 120 of the distance measurement. The walk error 120 may lead the measured distance to vary even a few tens of centimeters, which may be too much in many applications.
There are several techniques that try to mitigate the varying amplitude error (walk error). These include, for example, an automatic gain control (AGC) circuit as described in Ruotsalainen, T.; Palojärvi, P. and Kostamovaara, J. “A Wide Dynamic Range Receiver Channel for a Pulsed Time-of-Flight Laser Radar”, IEEE journal of solid-state circuits, August 2001, Vol. 36, No. 8, pages 1228-1238. An AGC circuit adjusts the amplitude of the received signal such that the amplitude is constant. The problem with AGC is that it only works with a certain dynamic range and is relatively slow. A unipolar-to-bipolar converter, as presented in Pehkonen, J.; Palojarvi, P. and Kostamovaara, J. “Receiver channel with resonance-based timing detection for a laser range finder”, IEEE Transactions on Circuits and Systems I: Regular Papers, March 2006, Vol. 53, Issue 3, Pages: 569-577, may be used to generate a bipolar output signal from a unipolar input signal at a receiver. The zero-crossing point may be used to detect the edge of the received pulse. However, with certain signal levels, the detection error may be significantly large due to distortions in the generation of the bipolar signal at the receiver. A peak detector, such as the one presented in Palojarvi, P.; Ruotsalainen, T. and Kostamovaara, J. “A 250-MHz BiCMOS receiver channel with leading edge timing discriminator for a pulsed time-of-flight laser rangefinder”, IEEE Journal of Solid-State Circuits, June 2005, Vol. 40, Issue 6, pages 1341-1349, ISSN 0018-9200, may be used to measure the maximum amplitude of the received signal and, consequently, the timing error can be measured as a function of the peak amplitude and the function may be used in measurement to compensate the for timing error. However, when the received signal is saturated, the peak detecting or the unipolar-to-bipolar converting techniques clearly cannot be applied.
Since the existing solutions for correcting or eliminating the timing error do not serve well, new solutions are needed.